با استفاده از Screen Wake Lock API، از کم نور شدن یا قفل شدن صفحه دستگاه جلوگیری کرده و تجربهای یکپارچه برای کاربران در سراسر جهان فراهم کنید.
قفل بیدار نگه داشتن صفحه در فرانتاند: جلوگیری از خاموش شدن صفحه برای تجربه کاربری بهتر
در چشمانداز دیجیتال امروزی، کاربران با اپلیکیشنهای وب و تجربیات موبایلی در طیف گستردهای از دستگاهها و سیستمعاملها تعامل دارند. یک جنبه حیاتی برای ارائه تجربه کاربری مثبت، اطمینان از فعال ماندن صفحه نمایش دستگاه در مواقع ضروری است. API قفل بیدار نگه داشتن صفحه (Screen Wake Lock API) یک راه حل قدرتمند ارائه میدهد که به توسعهدهندگان اجازه میدهد از کم نور شدن یا قفل شدن صفحه دستگاه جلوگیری کنند و در نتیجه، قابلیت استفاده و تعامل را برای کاربران در سراسر جهان بهبود بخشند.
درک مشکل: خاموش شدن صفحه و تأثیر آن
تصور کنید کاربری در توکیو، ژاپن، در حال تماشای یک ویدیوی آموزشی طولانی روی تبلت خود برای یادگیری مهارتی جدید است. یا شاید پزشکی در سائوپائولو، برزیل، در حال بررسی سوابق پزشکی روی یک دستگاه موبایل در حین مشاوره است. اگر صفحه دستگاه در اواسط کار کم نور یا قفل شود، میتواند تجربه کاربری را مختل کرده، باعث ناامیدی شود و به طور بالقوه منجر به از دست رفتن تعامل گردد. این مشکل به ویژه در اپلیکیشنهایی مانند موارد زیر برجسته است:
- پخشکنندههای ویدیو: پخش مداوم ویدیو نیازمند فعال ماندن صفحه است.
- پلتفرمهای آموزش الکترونیکی: حفظ دید صفحه در طول دروس و آزمونها ضروری است.
- اپلیکیشنهای مسیریابی: روشن نگه داشتن صفحه در حین مسیریابی برای ایمنی و سهولت استفاده حیاتی است.
- اپلیکیشنهای پزشکی: پزشکان و پرستاران هنگام بررسی اطلاعات بیمار یا در حین انجام رویهها به صفحههای قابل مشاهده نیاز دارند.
- بازیهای تعاملی: بازی طولانیمدت نیازمند روشن ماندن صفحه است.
رفتار پیشفرض اکثر دستگاهها شامل کم نور کردن صفحه پس از یک دوره عدم فعالیت برای صرفهجویی در عمر باتری است. در حالی که این رفتار اغلب مطلوب است، در اپلیکیشنهای خاص به یک مانع کاربری تبدیل میشود. Screen Wake Lock API به توسعهدهندگان ابزاری برای نادیده گرفتن این رفتار پیشفرض میدهد و اطمینان حاصل میکند که صفحه در مواقع لزوم فعال باقی میماند.
معرفی Screen Wake Lock API
Screen Wake Lock API یک API وب است که مکانیزمی را برای اپلیکیشنهای وب فراهم میکند تا از کم نور شدن یا قفل شدن صفحه دستگاه جلوگیری کنند. این API به گونهای طراحی شده است که یک راه حل آگاهانه از حریم خصوصی و کاربرپسند باشد و به توسعهدهندگان اجازه میدهد تا قفل بیدار ماندن صفحه را فقط در مواقع ضروری درخواست کنند. این API بر اساس اصل رضایت کاربر ساخته شده و در اکثر مرورگرهای مدرن، از جمله کروم، فایرفاکس و اج، پیادهسازی شده است.
مفاهیم کلیدی
- `navigator.wakeLock`: این ویژگی دسترسی به Screen Wake Lock API را فراهم میکند.
- `request()`: این متد برای درخواست قفل بیدار ماندن صفحه استفاده میشود. این متد یک نوع قفل بیدار ماندن را به عنوان آرگومان میگیرد (در حال حاضر، فقط 'screen' پشتیبانی میشود).
- `release()`: این متد یک قفل بیدار ماندن صفحه که قبلاً به دست آمده را آزاد میکند.
- انواع قفل بیدار ماندن (Wake Lock Types): این API از انواع مختلف قفلهای بیدار ماندن پشتیبانی میکند. در حال حاضر، تنها نوع پشتیبانی شده 'screen' است. در آینده، این API به طور بالقوه میتواند از انواع دیگر، مانند قفل بیدار ماندن CPU یا دستگاه، پشتیبانی کند.
پیادهسازی Screen Wake Lock API
پیادهسازی Screen Wake Lock API شامل چند مرحله ساده است. بیایید مراحل کلیدی را با کد نمونه برای تشریح فرآیند بررسی کنیم.
۱. بررسی پشتیبانی از API
قبل از تلاش برای استفاده از API، بررسی اینکه آیا مرورگر کاربر از آن پشتیبانی میکند یا نه، بسیار مهم است. این کار را میتوان با بررسی وجود ویژگی `navigator.wakeLock` انجام داد:
if ('wakeLock' in navigator) {
// Screen Wake Lock API is supported
console.log('Screen Wake Lock API supported!');
} else {
// Screen Wake Lock API is not supported
console.log('Screen Wake Lock API not supported.');
}
۲. درخواست قفل بیدار ماندن صفحه
هسته اصلی پیادهسازی شامل درخواست قفل بیدار ماندن صفحه با استفاده از متد `request()` است. این متد یک Promise را برمیگرداند که در صورت موفقیتآمیز بودن درخواست، با یک شیء `WakeLockSentinel` حل میشود. شیء `WakeLockSentinel` اطلاعاتی در مورد قفل بیدار ماندن ارائه میدهد و امکان آزادسازی آن را فراهم میکند.
در اینجا نحوه درخواست قفل بیدار ماندن صفحه آمده است:
let wakeLock = null;
async function requestWakeLock() {
try {
wakeLock = await navigator.wakeLock.request('screen');
console.log('Screen Wake Lock acquired!');
wakeLock.addEventListener('release', () => {
console.log('Screen Wake Lock released!');
});
} catch (err) {
console.error(`${err.name}, ${err.message}`);
// Handle the error, e.g., show an error message to the user.
}
}
در این کد:
- ما یک متغیر `wakeLock` را برای نگهداری شیء `WakeLockSentinel` تعریف میکنیم.
- ما از یک تابع `async` به نام `requestWakeLock()` برای مدیریت ماهیت ناهمزمان API استفاده میکنیم.
- ما `navigator.wakeLock.request('screen')` را برای درخواست قفل بیدار ماندن صفحه فراخوانی میکنیم.
- اگر درخواست موفقیتآمیز باشد، پیامی را در کنسول ثبت میکنیم.
- ما یک شنونده رویداد `release` به شیء `wakeLock` متصل میکنیم تا تشخیص دهیم چه زمانی قفل بیدار ماندن آزاد میشود (مثلاً به دلیل بسته شدن تب یا دور شدن کاربر).
- ما مدیریت خطا را برای مدیریت آرام شکستهای احتمالی، مانند مشکلات مجوز یا عدم پشتیبانی، در نظر میگیریم.
۳. آزادسازی قفل بیدار ماندن صفحه
آزادسازی قفل بیدار ماندن صفحه زمانی که دیگر نیازی به آن نیست، ضروری است. این کار را میتوان با استفاده از متد `release()` شیء `WakeLockSentinel` انجام داد. این امر به ویژه برای صرفهجویی در عمر باتری و احترام به تنظیمات دستگاه کاربر مهم است.
در اینجا نحوه آزادسازی قفل بیدار ماندن صفحه آمده است:
function releaseWakeLock() {
if (wakeLock) {
wakeLock.release().then(() => {
console.log('Screen Wake Lock released!');
wakeLock = null;
});
}
}
در این کد:
- ما بررسی میکنیم که آیا قفل بیدار ماندنی وجود دارد یا خیر.
- ما `wakeLock.release()` را برای آزاد کردن قفل فراخوانی میکنیم. متد `release()` یک `Promise` برمیگرداند که پس از آزادسازی قفل، حل میشود.
- ما پیامی را برای نشان دادن آزادسازی در کنسول ثبت میکنیم.
- ما `wakeLock` را برابر با `null` قرار میدهیم تا نشان دهیم که قفل آزاد شده است.
تابع `releaseWakeLock()` باید زمانی فراخوانی شود که اپلیکیشن دیگر نیازی به روشن ماندن صفحه ندارد. این میتواند توسط موارد زیر فعال شود:
- کاربر تب را ببندد یا از صفحه خارج شود.
- اپلیکیشن کاری را که نیاز به فعال بودن صفحه داشت (مانند پایان پخش ویدیو) به اتمام برساند.
- کاربر به صراحت درخواست آزادسازی قفل بیدار ماندن را بدهد (مثلاً از طریق یک دکمه).
۴. ادغام با منطق اپلیکیشن
پیادهسازی باید در منطق خاص اپلیکیشن ادغام شود. به عنوان مثال، در یک پخشکننده ویدیو، ممکن است هنگام شروع پخش ویدیو، قفل بیدار ماندن را درخواست کنید و هنگام توقف یا پایان ویدیو آن را آزاد کنید. در یک پلتفرم آموزش الکترونیکی، ممکن است در طول یک درس قفل بیدار ماندن را درخواست کرده و زمانی که کاربر به بخش دیگری میرود آن را آزاد کنید. زمانبندی درخواست و آزادسازی قفل بیدار ماندن برای یک تجربه کاربری خوب حیاتی است.
در اینجا یک مثال فرضی از ادغام آن در یک پخشکننده ویدیو آمده است:
const videoElement = document.getElementById('myVideo');
const playButton = document.getElementById('playButton');
const pauseButton = document.getElementById('pauseButton');
let wakeLock = null;
async function requestWakeLock() {
try {
wakeLock = await navigator.wakeLock.request('screen');
console.log('Screen Wake Lock acquired!');
wakeLock.addEventListener('release', () => {
console.log('Screen Wake Lock released!');
wakeLock = null;
});
} catch (err) {
console.error(`${err.name}, ${err.message}`);
}
}
function releaseWakeLock() {
if (wakeLock) {
wakeLock.release().then(() => {
console.log('Screen Wake Lock released!');
wakeLock = null;
});
}
}
playButton.addEventListener('click', () => {
videoElement.play();
requestWakeLock();
});
pauseButton.addEventListener('click', () => {
videoElement.pause();
releaseWakeLock();
});
videoElement.addEventListener('ended', () => {
releaseWakeLock();
});
در این مثال پخشکننده ویدیو:
- قفل بیدار ماندن هنگام شروع پخش ویدیو درخواست میشود (`playButton.addEventListener`).
- قفل بیدار ماندن هنگام توقف ویدیو آزاد میشود (`pauseButton.addEventListener`).
- قفل بیدار ماندن همچنین هنگام پایان ویدیو آزاد میشود (`videoElement.addEventListener('ended')`).
بهترین شیوهها و ملاحظات
پیادهسازی مؤثر Screen Wake Lock API شامل پایبندی به بهترین شیوهها برای اطمینان از یک تجربه کاربری مثبت و با احترام به حریم خصوصی است. در اینجا چند ملاحظه کلیدی وجود دارد:
۱. رضایت کاربر و شفافیت
همیشه در مورد اینکه چرا از Screen Wake Lock API استفاده میکنید با کاربران شفاف باشید. دلیل جلوگیری از خاموش شدن صفحه را به وضوح بیان کنید. ارائه یک کلید یا تنظیماتی را در نظر بگیرید که به کاربران امکان کنترل فعال بودن قفل بیدار ماندن صفحه را بدهد. این به کاربران اختیار و کنترل بر رفتار دستگاهشان را میدهد. در حوزههای قضایی سراسر جهان، احترام به رضایت کاربر در قوانین حریم خصوصی دادهها به طور فزایندهای اهمیت دارد.
۲. استفاده متنی
فقط زمانی قفل بیدار ماندن صفحه را درخواست کنید که واقعاً ضروری باشد. از استفاده بیرویه از آن خودداری کنید، زیرا این کار میتواند تأثیر منفی بر عمر باتری داشته باشد و کاربران را آزار دهد. به زمینه فعالیت کاربر توجه کنید. به عنوان مثال، اگر کاربری در حال خواندن مقالهای در یک اپلیکیشن خبری است، ممکن است قفل بیدار ماندن صفحه ضروری نباشد، اما اگر در حال تماشای ویدیویی در آن مقاله است، ممکن است مناسب باشد.
۳. آزادسازی مناسب
اطمینان حاصل کنید که قفل بیدار ماندن صفحه همیشه زمانی که دیگر نیازی به آن نیست، آزاد میشود. این برای صرفهجویی در عمر باتری و احترام به ترجیحات کاربر بسیار مهم است. از شنوندگان رویداد (مانند `visibilitychange`، `beforeunload`، `pagehide`) برای تشخیص زمانی که کاربر از صفحه خارج میشود یا تب را میبندد استفاده کنید و قفل بیدار ماندن را بر اساس آن آزاد کنید.
۴. مدیریت خطا
مدیریت خطای قوی را برای مدیریت آرام مشکلات احتمالی مانند خطاهای مجوز یا ناسازگاریهای مرورگر پیادهسازی کنید. در صورت عدم موفقیت درخواست قفل بیدار ماندن صفحه به کاربر اطلاع دهید و در صورت لزوم گزینههای جایگزین ارائه دهید. ارائه پیامهای خطای مفید به زبانهای مختلف برای مخاطبان جهانی مفید خواهد بود.
۵. مصرف باتری
به مصرف باتری توجه داشته باشید. در حالی که Screen Wake Lock API برای کارایی باتری طراحی شده است، روشن نگه داشتن مداوم صفحه ناگزیر باتری را سریعتر از زمانی که به دستگاه اجازه داده میشود به حالت خواب برود، تخلیه میکند. اپلیکیشن خود را به گونهای طراحی کنید که از جهات دیگر کارآمد باشد، مانند بهینهسازی پخش ویدیو و کاهش استفاده از CPU، تا تأثیر کلی بر عمر باتری را به حداقل برسانید.
۶. ملاحظات دسترسیپذیری
کاربران دارای معلولیت را در نظر بگیرید. اطمینان حاصل کنید که پیادهسازی شما برای کاربران با نیازهای مختلف قابل دسترسی است. به عنوان مثال، راههای جایگزینی برای کنترل قفل بیدار ماندن صفحه برای کاربرانی که در استفاده از کنترلهای استاندارد مشکل دارند، فراهم کنید. اپلیکیشن خود را با صفحهخوانها و سایر فناوریهای کمکی آزمایش کنید تا از سازگاری اطمینان حاصل کنید. پیروی از دستورالعملهای دسترسی به محتوای وب (WCAG) برای قابلیت استفاده جهانی ضروری است.
۷. تست روی دستگاهها و مرورگرهای مختلف
پیادهسازی خود را بر روی انواع دستگاهها و مرورگرها آزمایش کنید تا از سازگاری و رفتار ثابت اطمینان حاصل کنید. دستگاهها و مرورگرهای مختلف ممکن است استراتژیهای مدیریت انرژی و رفتار صفحه متفاوتی داشته باشند. تست بین مرورگری برای رسیدن به مخاطبان جهانی بسیار مهم است. بهترین رویکرد شامل تست بر روی پلتفرمها و سیستمعاملهای مختلف از جمله اندروید، iOS، ویندوز، macOS و لینوکس است.
۸. تشخیص ویژگی
همیشه قبل از تلاش برای استفاده از Screen Wake Lock API، از تشخیص ویژگی برای بررسی در دسترس بودن آن استفاده کنید. این تضمین میکند که اپلیکیشن شما به آرامی تنزل مییابد و در صورتی که API توسط مرورگر کاربر پشتیبانی نشود، از کار نمیافتد.
نمونههای واقعی و کاربردهای جهانی
Screen Wake Lock API کاربردهای متعددی در صنایع و موارد استفاده مختلف دارد. در اینجا چند نمونه برای نشان دادن ارتباط عملی آن آورده شده است:
- مراقبتهای بهداشتی: متخصصان پزشکی در بیمارستانها و کلینیکها در کشورهای مختلف، مانند هند و نیجریه، میتوانند از این API برای قابل مشاهده نگه داشتن سیستمهای نظارت بر بیمار یا رابطهای دستگاههای پزشکی در طول رویهها استفاده کنند.
- آموزش: پلتفرمهای یادگیری آنلاین، مانند آنهایی که توسط دانشجویان در کانادا یا استرالیا استفاده میشوند، میتوانند اطمینان حاصل کنند که صفحه در طول دروس تعاملی، آزمونها و سخنرانیهای ویدیویی فعال باقی میماند.
- تولید: کارگران کارخانه در آلمان یا ژاپن میتوانند از این API برای قابل مشاهده نگه داشتن داشبوردهای نظارت بر تولید روی تبلتها یا سایر دستگاهها استفاده کنند و از اختلال در تولید جلوگیری کنند.
- حمل و نقل: رانندگان کامیون در ایالات متحده یا پرسنل تحویل در برزیل میتوانند اپلیکیشنهای مسیریابی را روی دستگاههای خود فعال نگه دارند.
- تناسب اندام: کاربران در فرانسه یا کره جنوبی میتوانند از این API برای ردیابهای تناسب اندام در طول تمرینات استفاده کنند.
- کیوسکهای تعاملی: کیوسکهای تعاملی در فضاهای عمومی در کشورهایی مانند بریتانیا یا چین صفحههای خود را برای تعامل با کاربران فعال نگه میدارند.
مزایا و معایب
مزایا
- تجربه کاربری بهبود یافته: با جلوگیری از کم نور شدن یا قفل شدن صفحه، تجربهای یکپارچه فراهم میکند.
- قابلیت استفاده پیشرفته: اپلیکیشنها را در شرایطی که صفحه نیاز به فعال ماندن دارد، کاربردیتر میکند.
- سازگاری بین پلتفرمی: در مرورگرها و دستگاههای مختلف کار میکند.
- متمرکز بر حریم خصوصی: با در نظر گرفتن حریم خصوصی کاربر طراحی شده و نیاز به رضایت کاربر دارد.
معایب
- تخلیه باتری: روشن نگه داشتن صفحه میتواند باتری را سریعتر تخلیه کند.
- آزار کاربر: در صورت استفاده نامناسب یا بدون شفافیت میتواند کاربران را آزار دهد.
- پشتیبانی مرورگر: نیاز به پشتیبانی مرورگر دارد (اگرچه در مرورگرهای مدرن به طور گسترده در دسترس است).
- مشکلات احتمالی مجوزها: ممکن است در برخی پلتفرمها مشمول درخواست مجوز باشد.
جایگزینها و ملاحظات
در حالی که Screen Wake Lock API یک راه حل مستقیم ارائه میدهد، رویکردهای جایگزین و ملاحظاتی وجود دارد که توسعهدهندگان ممکن است آنها را بررسی کنند.
۱. `setInterval()` و بهروزرسانیهای دورهای
قبل از معرفی Screen Wake Lock API، برخی از توسعهدهندگان از `setInterval()` برای بهروزرسانی دورهای محتوا یا ارسال سیگنال به سرور استفاده میکردند تا از ورود دستگاه به حالت خواب جلوگیری کنند. با این حال، این رویکرد میتواند کمتر قابل اعتماد و منابعبرتر باشد. همچنین میتواند به جای یک راه حل مشخص، به عنوان یک راهکار موقت تلقی شود.
۲. `requestFullscreen()` و تجربیات فراگیر
برای اپلیکیشنهایی که شامل حالت تمامصفحه هستند، `requestFullscreen()` API ممکن است به طور غیرمستقیم از خاموش شدن صفحه در برخی دستگاهها جلوگیری کند. با این حال، این یک رفتار تضمین شده نیست و ممکن است بر اساس دستگاه و مرورگر متفاوت باشد. این عمدتاً بر روی نمایش تمامصفحه تمرکز دارد تا مدیریت رفتار خاموش شدن صفحه.
۳. تنظیمات سطح سیستم عامل
کاربران معمولاً میتوانند تنظیمات زمان خاموشی صفحه دستگاه خود را در سیستم عامل (مانند ویندوز، macOS، اندروید، iOS) تنظیم کنند. توسعهدهندگان باید به کاربران اطلاع دهند که رفتار خاموش شدن صفحه توسط تنظیمات دستگاه مدیریت میشود. در حالت ایدهآل، توسعهدهندگان باید از API استفاده کنند و به کاربر اجازه دهند با ارائه یک کلید یا تنظیم، در مورد فعال/غیرفعال کردن قفل صفحه تصمیم بگیرد.
۴. APIهای مدیریت انرژی (مسیرهای آینده)
Screen Wake Lock API هنوز در حال تکامل است. بهبودهای آینده میتواند شامل کنترل دقیقتر بر رفتار صفحه، مانند توانایی کنترل روشنایی یا سطح کمنوری باشد. این API میتواند با سایر APIهای مدیریت انرژی، مانند APIهایی که میتوانند وضعیت انرژی دستگاه را نظارت کرده و به آن پاسخ دهند، ادغام شود تا تجربیات کاربری بهینهتری ایجاد کند.
دسترسیپذیری و بینالمللیسازی
برای مخاطبان جهانی، اطمینان از دسترسیپذیری و بینالمللیسازی (i18n) بسیار مهم است. خود Screen Wake Lock API مستقیماً بر دسترسیپذیری یا بینالمللیسازی تأثیر نمیگذارد. با این حال، نحوه ادغام این API در اپلیکیشن شما تأثیر مستقیمی دارد.
ملاحظات دسترسیپذیری
- ناوبری با صفحهکلید: اطمینان حاصل کنید که تمام کنترلها (مانند دکمهها، چکباکسها) از طریق صفحهکلید قابل دسترسی هستند.
- صفحهخوانها: تأیید کنید که فناوریهای کمکی، مانند صفحهخوانها، اطلاعات دقیقی در مورد وضعیت فعلی اپلیکیشن ارائه میدهند. رویداد `release` باید توسط صفحهخوان اعلام شود.
- کنتراست رنگ: از دستورالعملهای WCAG برای اطمینان از کنتراست کافی بین متن و پسزمینه برای خوانایی بهتر پیروی کنید.
- متن جایگزین: از متن جایگزین مناسب برای همه تصاویر و گرافیکها استفاده کنید.
- ویژگیهای ARIA مناسب: از ویژگیهای ARIA (مانند `aria-label`، `aria-describedby`) برای ارائه اطلاعات اضافی به فناوریهای کمکی استفاده کنید.
ملاحظات بینالمللیسازی
- ترجمه: تمام متن و عناصر رابط کاربری را به زبانهای پشتیبانی شده توسط اپلیکیشن خود ترجمه کنید. از یک کتابخانه ترجمه قوی استفاده کنید و از رمزگذاری صحیح کاراکترها (UTF-8) اطمینان حاصل کنید.
- قالببندی تاریخ و زمان: تاریخ و زمان را مطابق با منطقه کاربر قالببندی کنید. از کتابخانههایی مانند `Intl` برای قالببندی تاریخ/زمان استفاده کنید.
- قالببندی اعداد: اعداد، از جمله ارز، را مطابق با منطقه کاربر قالببندی کنید.
- پشتیبانی از راستبهچپ (RTL): در صورت پشتیبانی از زبانهایی که از راست به چپ نوشته میشوند (مانند عربی، عبری)، اطمینان حاصل کنید که طرحبندی اپلیکیشن شما به درستی تطبیق داده شده است.
- قالببندی ارز: نمادهای ارز و قالببندی را به طور مناسب بر اساس منطقه کاربر مدیریت کنید.
نتیجهگیری: بهبود تجربه کاربری در سطح جهانی
Screen Wake Lock API ابزاری ارزشمند برای توسعهدهندگان فرانتاند است که به دنبال بهبود تجربیات کاربری در انواع اپلیکیشنهای وب و محیطهای موبایلی هستند. با درک قابلیتهای API، پیروی از بهترین شیوهها و ادغام متفکرانه آن در پروژههای خود، میتوانید اپلیکیشنهای جذابتر، کاربرپسندتر و قابل دسترستری در سطح جهانی ایجاد کنید.
با پرداختن فعالانه به رفتار خاموش شدن صفحه، میتوانید از اختلالات جلوگیری کرده و تجربه کلی کاربر را بهبود بخشید، چه کاربران شما در لندن باشند، چه در پکن یا لاگوس. به یاد داشته باشید که همیشه رضایت کاربر را در اولویت قرار دهید، شفافیت را فراهم کنید و قفل بیدار ماندن صفحه را به سرعت زمانی که دیگر نیازی به آن نیست آزاد کنید تا از رویکردی محترمانه و مسئولانه اطمینان حاصل شود.
با ادامه تکامل فناوریهای وب، Screen Wake Lock API احتمالاً برای ساخت اپلیکیشنهای وب مدرن که میتوانند تجربیات یکپارچه، جذاب و قابل دسترس جهانی را برای کاربران در همه جا ارائه دهند، حیاتیتر خواهد شد. از قدرت این API استقبال کنید و تجربیات وب بهتری برای کاربران خود در سراسر جهان بسازید!